Nanodegree key: nd001-cn-advanced
Version: 4.0.0
Locale: zh-cn
进一步夯实你的前端开发高级技能,完成一系列实战项目,成为一名独当一面的前端工程师!
Content
Part 01 : 纳米学位新生营
开始学习纳米学位课程,并了解如何充分利用优达学城的资源!
-
Module 01:
纳米学位新生营
-
Lesson 01: 纳米学位新生营
了解什么是纳米课程,什么是优等生社群以及如何最好的利用优达学城的资源
-
Part 02 : 记忆游戏
你将构建一款外观时尚、设计很棒、功能多样的记忆游戏!这个项目将是你第一次把 HTML CSS 和 JavaScript 技能完全运用到一个大型项目。
相关技能:面向对象的 JavaScript,HTML,CSS
-
Module 01:
面向对象的 JavaScript
-
Lesson 01: 作用域
跟随 Marcus Phillips 和 Mike Wales 学习什么是作用域(scopes),以及为什么使用 JavaScript 时你需要注意它。
- Concept 01: 简介
- Concept 02: 继续之前
- Concept 03: 作用域和闭包
- Concept 04: 作用域:示例
- Concept 05: 词法作用域
- Concept 06: 变量访问权限
- Concept 07: 作用域限制
- Concept 08: 调用函数
- Concept 09: 执行环境简介
- Concept 10: 执行环境与词法作用域
- Concept 11: 内存中的数据存储
- Concept 12: 内存作用域与内存对象
- Concept 13: 预测执行环境的输出
- Concept 14: 构建多个执行作用域
- Concept 15: 继续预测输出
- Concept 16: 完成我们的预测
-
Lesson 02: 闭包
学习 JavaScript 的一个难点——闭包。你将学习如何利用闭包保留某个函数及其环境的访问权限,即使该函数已经执行完毕。
-
Lesson 03: 'this' 关键字
学习 this 关键字的重要性,了解当你试图在代码中使用它时可能遇到的问题。
- Concept 01: 简介
- Concept 02: 定义关键字 'this'
- Concept 03: 'this' 不会绑定的
- Concept 04: 'this' 所绑定的
- Concept 05: 预测参数输出
- Concept 06: 预测参数输出 (2)
- Concept 07: 预测 'this' 输出
- Concept 08: 预测 'this' 输出 (2)
- Concept 09: 预测 'this' 输出 (3)
- Concept 10: 预测 'this' 输出 (4)
- Concept 11: 预测 'this' 输出 (5)
- Concept 12: 解构 setTimeout
- Concept 13: 预测 'this' 输出 (6)
- Concept 14: 确定 'this' 绑定
- Concept 15: 预测 'this' 输出 (7)
- Concept 16: 预测 'this' 输出 (8)
- Concept 17: 预测 'this' 输出 (9)
- Concept 18: 预测 'new' 命令下的 'this' 输出
- Concept 19: 小结
-
Lesson 05: 对象修饰模式
学习你的第一段面向对象的 JavaScript 代码——使用对象修饰模式,来尽量减少你的项目中的代码的重复使用。
-
Lesson 08: 伪类模式
学习如何在 JavaScript 中仿照其他语言的类系统,来重写你的对象结构。
-
Lesson 09: 超类和子类
学习如何利用超类和子类来进一步减少创建对象时,重复使用的代码的量。
-
Lesson 10: 伪类子类
学习如何在你的超类中使用 'this' 关键字,如何在类中使用 .call() 设置属性,以及如何委派原型到子类。
- Concept 01: 伪类子类简介
- Concept 02: 构建一个子类
- Concept 03: 错误的解决方案
- Concept 04: 使用 'new' 的超类中的 'this'
- Concept 05: 未使用 'new' 的超类中的 'this'
- Concept 06: .call() 的第一个参数
- Concept 07: 使用 .call()
- Concept 08: 子类属性原型委托
- Concept 09: 子类方法的原型委托
- Concept 10: 构造函数的原型委托
- Concept 11: 子类的原型委托
- Concept 12: 错误的子类原型委托
- Concept 13: 使用 Object.create()
- Concept 14: 子类原型构造函数属性
- Concept 15: 子类构造函数的委托
- Concept 16: 正确的子类构造函数委托
- Concept 17: 伪类子类小结
- Concept 18: 回顾
-
-
Module 02:
项目 - 记忆游戏
-
Lesson 01: 项目 - 记忆游戏
你将构建一个完全基于浏览器的卡片匹配游戏。这不仅仅是普通的卡片游戏!还是一个外观时尚、设计很棒、功能多样的记忆游戏!
-
Part 03 : 经典街机游戏克隆
我们将向你提供一些视觉资产和游戏主循环引擎;你必须使用这些工具向游戏添加一些实体,包括玩家人物与敌人,以重现经典小游戏《青蛙过河》(Frogger)。
相关技能:编写 README 文档,ES6
-
Module 01:
编写 README 文档
-
Lesson 01: 编写 README 文档
在本课程中,你将学习什么是文档,为何文档是开发流程的重要组成部分。你将学习如何编写结构清晰的 README,并运用在后续的项目中。学完本课程后,你将能够使用 Markdown 编写自己的 README 文件。
- Concept 01: 欢迎
- Concept 02: 什么是文档?
- Concept 03: 文档是写给谁看的?
- Concept 04: Nija 如何使用文档?
- Concept 05: 为什么 Art 应该为他的代码编写文档?
- Concept 06: README 简介
- Concept 07: README 的构成
- Concept 08: 记录不断扩大的代码库
- Concept 09: 用 Markdown 编写易读的 README 文档
- Concept 10: 基本 Markdown 语法
- Concept 11: 基本 Markdown 语法
- Concept 12: 更多 Markdown 语法
- Concept 13: 将一切记录在案!
-
-
Module 02:
ES6
-
Lesson 01: ES6 - 语法
这次对 JavaScript 语言做出重大更新后,添加了很多语法改善的地方。在这节课,你将学习利用这些语法更新改善你的 JavaScript 代码。
- Concept 01: Harmony, ES6, ES2015...
- Concept 02: Let 和 Const
- Concept 03: 练习:使用 Let 和 Const (1-1)
- Concept 04: 模板字面量
- Concept 05: 练习:构建 HTML 片段 (1-2)
- Concept 06: 解构
- Concept 07: 练习:解构数组 (1-3)
- Concept 08: 对象字面量简写法
- Concept 09: 第 1 节课知识点检验
- Concept 10: 迭代
- Concept 11: For 循环系列
- Concept 12: For...of 循环
- Concept 13: 练习:编写 For...of 循环 (1-4)
- Concept 14: 展开... 运算符
- Concept 15: ...剩余参数
- Concept 16: 练习:使用剩余参数 (1-5)
- Concept 17: 第 1 节课总结
-
Lesson 02: ES6 - 函数
函数是 JavaScript 的核心!在 ES6 中,函数出现了很多必要的改进。在这节课,你将学习很多新内容,包括箭头函数和类。
- Concept 01: 函数的更新
- Concept 02: 箭头函数
- Concept 03: 使用箭头函数
- Concept 04: 练习:将函数转换为箭头函数 (2-1)
- Concept 05: 箭头函数总结
- Concept 06: 箭头函数和"this"关键字
- Concept 07: "this" 和普通函数
- Concept 08: "this" 和箭头函数
- Concept 09: 默认函数参数
- Concept 10: 默认值和解构
- Concept 11: 练习:使用默认函数参数 (2-2)
- Concept 12: 类预览
- Concept 13: 对 JavaScript 类的错觉
- Concept 14: JavaScript 类
- Concept 15: 将函数转换为类
- Concept 16: 使用 JavaScript 类
- Concept 17: super 和 extends
- Concept 18: 从 ES5 到 ES6 的类扩展
- Concept 19: 使用 JavaScript 子类
- Concept 20: 练习:构建类和子类 (2-3)
- Concept 21: 第 2 节课总结
-
Lesson 03: ES6 - 内置功能
JavaScript 环境默认地提供了各种功能。在这节课,我们将了解 Set、Map、Proxy、生成器以及迭代器的工作原理和更多知识!
- Concept 01: 新的内置功能
- Concept 02: Symbol 简介
- Concept 03: Symbol
- Concept 04: 迭代器协议和可迭代协议
- Concept 05: Set
- Concept 06: 修改 Set
- Concept 07: 使用 Set
- Concept 08: Set 与迭代器
- Concept 09: 练习:使用 Set
- Concept 10: WeakSet
- Concept 11: 练习:处理 WeakSet
- Concept 12: Map
- Concept 13: 创建和修改 Map
- Concept 14: 处理 Map
- Concept 15: 循环访问 Map
- Concept 16: WeakMap
- Concept 17: Promise 简介
- Concept 18: Promise
- Concept 19: 更多 Promise
- Concept 20: Proxy 简介
- Concept 21: Proxy
- Concept 22: Proxy 与 ES5 Getter/Setter
- Concept 23: Proxy 小结
- Concept 24: 生成器
- Concept 25: 生成器和迭代器
- Concept 26: 向生成器中发送数据或从中向外发送数据
- Concept 27: 第 3 课总结
-
Lesson 04: ES6 - 专业开发者功能
经过这么多的改进后,并非所有浏览器都能支持这一新版 JavaScript。在这节课,你将学习如何使用 polyfill 并将 ES6 JavaScript 代码转译为 ES5。
-
-
Module 03:
项目 - 经典街机游戏克隆
-
Lesson 01: 项目 - 经典街机游戏克隆
你将获得可视化资源和游戏循环引擎;使用这些工具时,你必须向游戏添加一系列实体(包括玩家角色和敌人),以重新创建经典街机游戏“青蛙过河”。
-
Part 04 : 订阅阅读器测试
在这个项目中,你将得到一个读取 RSS Feeds 的基于 Web 的应用。此应用最初的开发者显然看到了测试的价值,已在其中包含了 Jasmine 并甚至已开始编写首个测试套件!只是,他们决定立即着手创办自己的公司,于是现在我们得到的应用的测试套件不完整。那么,剩下的就将由你完成。
相关技能:JavaScript 测试、Jasmine 测试框架
-
Module 01:
JavaScript 测试
-
Lesson 01: 重新思考测试
跟随 Mike Wales 了解为何编写测试是所有项目的重要一环,以及如何开始编写你自己的测试。
-
Lesson 02: 编写测试套件
学习如何使用 Jasmine 测试套件对代码运行测试,以及如何 处理包括异步代码在内的各种情况。
- Concept 01: Jasmine 简介
- Concept 02: 浏览 SpecRunner
- Concept 03: 识别套件和 Spec
- Concept 04: 套件和 Spec 简介
- Concept 05: 编写测试
- Concept 06: 每个 Spec 的多次测试
- Concept 07: 失败-成功-重构入门
- Concept 08: 编写 AddressBookSpec.js
- Concept 09: 编写实现
- Concept 10: 迭代实现
- Concept 11: 完成实现
- Concept 12: Mike 的解决方案
- Concept 13: 其他 Spec
- Concept 14: 移除冗余代码
- Concept 15: 测试异步代码
- Concept 16: 编写异步测试
- Concept 17: 运行第一个异步测试
- Concept 18: 更正异步测试
- Concept 19: 小结
-
-
Module 02:
项目 - 订阅阅读器测试
-
Lesson 01: 项目 - 订阅阅读器测试
现有另一位开发人员制作的反馈阅读器, 请使用 Jasmine 测试语法针对该阅读器编写测试代码。
-
Part 05 : 街区地图
你将开发一个单页应用,展示你所在街区或你想要参观的街区的地图。然后你将向此应用添加其他功能,包括:地图标记,用于标识你要参观的著名位置或地点;搜索功能,用于快速找到这些位置;以及一个列表视图,用于简单浏览所有位置。然后,你将调查并实现提供每个位置附加信息的第三方 API(如街景图像、维基百科文章、Yelp 评论等)。
相关技能:AJAX、JavaScript 设计模式、使用第三方 API、Knockout 框架
-
Module 01:
JavaScript 设计模式
-
Lesson 01: 改变预期
跟着 Ben Jaffe 学习为什么结构良好的代码很重要,以及如何使用 MV 方法创建更简洁的项目。
- Concept 01: 欢迎
- Concept 02: 介绍 Cat Clicker 和 Andy
- Concept 03: Cat Clicker 要求
- Concept 04: 思考
- Concept 05: Andy 的思考
- Concept 06: 要求会不断变化
- Concept 07: 第一个要求变化
- Concept 08: Cat Clicker 要求 2
- Concept 09: 思考 2
- Concept 10: Andy 的思考 2
- Concept 11: 闭包和事件侦听程序
- Concept 12: 第二个要求变化
- Concept 13: Cat Clicker 高级版要求
- Concept 14: 思考 3
- Concept 15: Andy 的思考 3
- Concept 16: 面条式代码故事时间
- Concept 17: 什么是面条式代码
- Concept 18: MVO 简介
- Concept 19: “模型”练习
- Concept 20: “视图”练习
- Concept 21: 我们代码的模型是什么
- Concept 22: 我们代码的视图是什么
- Concept 23: 我们代码的章鱼是什么
- Concept 24: 识别新应用中的 MVO
- Concept 25: 探索应用的结构
- Concept 26: 此功能在何处提供?
- Concept 27: 实施注释日期
- Concept 28: 准备第 2 课
-
Lesson 02: 分离重构
开始重构你的 Cat Clicker 应用的代码,学习如何最好地改进应用的结构。
- Concept 01: 第 2 课简介
- Concept 02: 识别模型和视图
- Concept 03: 检查高级版的模型和视图
- Concept 04: 确定章鱼
- Concept 05: Andy 的代码 1
- Concept 06: Andy 的代码 2
- Concept 07: 为 Andy 辩护
- Concept 08: 重新构建 Cat Clicker 高级版
- Concept 09: Cat Clicker 高级版要求
- Concept 10: Cat Clicker 高级版解决方案
- Concept 11: Cat Clicker 高级版解决方案评审
- Concept 12: Cat Clicker 高级专业版
- Concept 13: Cat Clicker 高级专业版要求
- Concept 14: 如何使项目现代化
- Concept 15: 采访 Nic
- Concept 16: 采访 Jacques
- Concept 17: 重构面条式代码
- Concept 18: 考勤应用的代码库
- Concept 19: 你用了哪种方法?
- Concept 20: 采访作者
- Concept 21: 重构简历应用
- Concept 22: 简历应用的代码库
- Concept 23: 准备第 3 课
-
Lesson 03: 使用组织库
学习 MV* 框架,使用 KnockoutJS 来改进你的 Cat Clicker 应用。
- Concept 01: 自然环境下的 MVO
- Concept 02: 库与框架 1
- Concept 03: 库与框架 2
- Concept 04: 就使用库采访 Nic
- Concept 05: 通用组织概念
- Concept 06: Knockout 会为我们提供哪些信息
- Concept 07: Knockout 中的绑定和视图
- Concept 08: Knockout视图 练习
- Concept 09: Knockout 中的模型
- Concept 10: Knockout 模型 练习
- Concept 11: 关于文档的采访
- Concept 12: 更智能的数组
- Concept 13: 智能模型以不同的方式工作
- Concept 14: 智能模型的优点
- Concept 15: jQuery 与 KnockOut 的相似处
- Concept 16: 使用 Knockout 构建内容
- Concept 17: Cat Clicker HTML 和绑定
- Concept 18: 计算出的观察变量
- Concept 19: 计算出的观察变量 练习
- Concept 20: 条款审核
- Concept 21: 实践中的计算出的观察变量
- Concept 22: 向 Cat Clicker 增加猫的等级
- Concept 23: 使用控制结构显示猫
- Concept 24: 分离出模型
- Concept 25: 'with' 和绑定上下文
- Concept 26: 如何实施 "With"
- Concept 27: 准备添加更多猫
- Concept 28: 添加更多猫
-
-
Module 02:
使用 Promises
-
Lesson 01: 创建 Promise
了解什么是 promise,它如何使编写异步 JavaScript 变得更加简单,以及如何处理错误。
- Concept 01: 课程简介
- Concept 02: 回调与 Promise
- Concept 03: 回调与 Then
- Concept 04: 课程图
- Concept 05: Promise 时间轴
- Concept 06: 异步情形
- Concept 07: 语法
- Concept 08: 编写你的首个 Promise
- Concept 09: 封装 readyState
- Concept 10: 重要事项!使用 Exoplanet Explorer
- Concept 11: 封装 XHR
- Concept 12: 网络技术
- Concept 13: Fetch API
- Concept 14: 下一步该怎么办?
-
Lesson 02: 链接 Promise
通过链接 Promise 创建一系列异步工作并深入了解高级错误处理方法。
-
-
Module 03:
异步 JavaScript
-
Lesson 01: Ajax 与 XHR
在这节课,你将学习为何应该使用异步数据请求。你将使用
XHR
对象异步发送和接收数据。 -
Lesson 02: Ajax 与 jQuery
在这节课,你将对比使用
XHR
和使用 jQuery 的 Ajax 方法。你将使用 jQuery 的 Ajax 方法发送和接收数据,并了解 jQuery 的 Ajax 背后的工作原理。 -
Lesson 03: Ajax 与 Fetch
在这节课,你将使用 JavaScript Promise 创建 fetch 请求并异步地处理返回的数据。你还将学习如何处理失败请求产生的错误。
-
-
Module 04:
Google 地图 API
-
Lesson 01: API 入门
设置你的开发者证书,并开始使用 谷歌地图 API
- Concept 01: 简介
- Concept 02: 你的项目
- Concept 03: 你的 API 密钥
- Concept 04: JavaScript API 概览
- Concept 05: 地图简介
- Concept 06: 做标记
- Concept 07: 窗口购物 第 1 部分
- Concept 08: 窗口购物 第 2 部分
- Concept 09: 标记信息窗口
- Concept 10: 添加样式
- Concept 11: 样式
- Concept 12: 静态地图和街道视图成像
- Concept 13: 成像
- Concept 14: Pitch 和 Heading
- Concept 15: 库卡片
- Concept 16: 几何与可视化
- Concept 17: 绘图
- Concept 18: 绘图和几何
-
Lesson 02: 了解 API 服务
探索谷歌地图API提供的定位服务,包括地理编码、海拔和方向API。
- Concept 01: Web 服务与地理编码 第 1 部分
- Concept 02: Web 服务与地理编码 第 2 部分
- Concept 03: 地理编码的请求与响应
- Concept 04: 状态
- Concept 05: 地理编码的请求与响应
- Concept 06: 应用中的地理编码
- Concept 07: 解释地理编码响应
- Concept 08: 一山更比一山高 - 海拔 API
- Concept 09: 我的通勤生活 - 距离矩阵 API 第 1 部分
- Concept 10: 我的通勤生活 - 距离矩阵 API 第 2 部分
- Concept 11: 我要骑单车
- Concept 12: 我的通勤生活 - 方向 API
- Concept 13: 显示路线 - 方向服务
- Concept 14: 从起点到终点
- Concept 15: 距离矩阵和方向详情
- Concept 16: 蜿蜒长路 - 道路 API
- Concept 17: 少有人走的路
- Concept 18: 速度限制请求
- Concept 19: 道路 API
- Concept 20: 更快更好 - 地点自动完成 1
- Concept 21: 更快更好 - 地点自动完成 2
- Concept 22: 高速引擎
- Concept 23: 细节决定成败 - 地点详细信息
- Concept 24: 印象中的老地方
- Concept 25: 此处、彼处、世界各处
- Concept 26: 宇宙穿越 - 时区 API
- Concept 27: 时间的继续
- Concept 28: 我在这里,可这里是哪里?
- Concept 29: 迄今为止的旅程
-
Lesson 04: 项目 - 街区地图
你将开发一个具有你所在区域或想访问的区域的地图的单页应用程序。然后,你将为此地图添加其他功能,包括突出显示的地点、有关这些地点的第三方数据以及浏览内容的不同方式。
-
Part 06 : 图书跟踪应用
在 MyReads 项目中,你将创建一个书架应用,使你能够选择和归类你阅读过的图书、正在阅读的图书以及想要阅读的图书。
相关技能:React
-
Module 01:
React 基础
-
Lesson 01: 为何要学习 React?
你将发现 React 的强大之处。你将创建简单的功能,并组合成复杂的功能,编写声明式代码,发现单向数据流并且发现 React 就是 JavaScript。
-
Lesson 02: 使用 React 渲染 UI
你将了解 React 如何创建和渲染元素。你还会将手动元素转换为 JSX,使用 create-react-app 搭建项目,并了解组件的简单介绍。
-
Lesson 03: 状态管理
你将学习如何向组件中传递数据、如何创建函数式组件、何时及如何使用 PropType、如何创建受控制的组件,以及它们提供的优势。
-
Lesson 04: 使用外部数据渲染 UI
在这节课,你将学习在 React 应用的哪个位置获取远程数据,还将学习不同的生命周期阶段以及如何利用这些阶段。
-
Lesson 05: 使用 React Router 管理应用位置信息
你将学习如何使用 React Router 向 React 应用中添加路由。你将学习 BrowserRouter、Link 和 Route 组件以动态地渲染页面。
-
-
Module 02:
项目 - 图书跟踪应用
-
Lesson 01: 项目 - 图书跟踪应用
在 MyReads 项目中,你将创建一个网络应用,使你能够选择和归类你阅读过的图书、正在阅读的图书以及想要阅读的图书。
-
Part 07 (Elective) : 选修材料
探索与网站开发相关的其他内容。
-
Module 01:
面向对象的 JavaScript
-
Lesson 01: 深入了解对象
JavaScript 中的对象封装了数据和功能。你可以创建、访问和修改对象,以便为面向对象编程打下坚实的基础。
-
Lesson 02: 运行时的函数
函数是最重要的数据结构之一。学习什么是“一级函数”、了解作用域、探索闭包,并使用立即调用函数表达式来实现私有状态。
-
Lesson 03: 类和对象
单独创建对象是不可持续的。学习如何使用类来轻松创建类似的对象。你还将学到对象继承如何通过 原型继承来起作用。
-
-
Module 02:
网站易用性
-
Lesson 01: 网站无障碍性概述
了解网站和应用具有的各种不同的用户体验。了解如何实际地使用屏幕阅读器,并发现针对打造所有用户的网络体验所面临的挑战。
-
Lesson 02: 焦点
管理焦点 - 从键盘接收页面上相应位置的输入。了解一些用户如何通过键盘完全网站操作,以及如何优化他们的体验。
- Concept 01: 焦点简介
- Concept 02: 什么是焦点?
- Concept 03: 体验焦点
- Concept 04: DOM 顺序很关键
- Concept 05: 修正 DOM 顺序
- Concept 06: 使用 Tabindex
- Concept 07: 决定焦点所在位置
- Concept 08: 哪些元素应该具有焦点?
- Concept 09: 管理焦点
- Concept 10: 自己管理焦点
- Concept 11: 跳过链接
- Concept 12: 复杂组件中的焦点
- Concept 13: 键盘设计模式
- Concept 14: 实现键盘事件监听器
- Concept 15: 屏幕之外的内容
- Concept 16: 实现屏幕之外的内容
- Concept 17: 模式窗口和键盘陷阱
- Concept 18: 小结
-
Lesson 03: 语义基础
了解可视 UI 和从语义上设计的无障碍 UI 之间的区别。向 HTML 添加语义元素,以创建适合所有人使用的用户界面。
- Concept 01: 语义简介
- Concept 02: 辅助技术
- Concept 03: 情境支持
- Concept 04: 体验情境支持
- Concept 05: 语义和辅助技术
- Concept 06: 体验如何使用屏幕阅读器
- Concept 07: ‘角色、名称、值'
- Concept 08: 体验屏幕阅读器 2
- Concept 09: 无障碍树
- Concept 10: 匹配简单的 DOM 和无障碍树
- Concept 11: 原生 HTML 中的语义
- Concept 12: 练习:编写语义 HTML
- Concept 13: ‘编写语义 HTML:名称游戏’
- Concept 14: 为输入元素添加标签
- Concept 15: 替代文本
- Concept 16: 使用替代文本为图片添加标签
- Concept 17: 小结
-
Lesson 05: ARIA
有时候,HTML 元素可能没有语义角色或值。在这节课,你将使用 ARIA 属性为屏幕阅读器提供上下文信息。
- Concept 01: 语义简介:ARIA
- Concept 02: 为何要采用 ARIA
- Concept 03: ARIA 初始步骤
- Concept 04: ARIA 有什么作用?
- Concept 05: 角色扮演
- Concept 06: 使用 ARIA 创建自定义单选按钮组
- Concept 07: 添加标签的更多方式
- Concept 08: 命名该元素!
- Concept 09: 短暂休息
- Concept 10: 默认语义和标记
- Concept 11: ARIA 关系
- Concept 12: 组合框
- Concept 13: 从外观上隐藏起来
- Concept 14: 命名该元素(第 2 部分)
- Concept 15: 部分内容小结
- Concept 16: ARIA Live 简介
- Concept 17: Atomic、Relevant 与 Busy
- Concept 18: 小结
- Concept 19: 模式对话框练习
- Concept 20: 总结
-
Lesson 06: 样式
在无障碍网络设计中采用 CSS 样式并使用无障碍颜色技巧改善无障碍性。
- Concept 01: 样式简介
- Concept 02: 使用聚焦样式
- Concept 03: 编写自定义聚焦样式
- Concept 04: 输入模式
- Concept 05: 通过 Aria 设置样式
- Concept 06: 通过 Aria 设置样式
- Concept 07: 多设备自适应设计
- Concept 08: 多设备自适应设计(第 2 部分)
- Concept 09: 移动屏幕阅读器
- Concept 10: iOS 移动屏幕阅读器
- Concept 11: Android 移动屏幕阅读器
- Concept 12: 使用移动屏幕阅读器
- Concept 13: 颜色和对比度
- Concept 14: 满足对比度要求
- Concept 15: 对比度检查功能
- Concept 16: 请勿仅通过颜色传递信息
- Concept 17: 高对比度模式
- Concept 18: 总结
- Concept 19: 课程总结
-
-
Module 03:
网站工具化和自动化
-
Lesson 01: 简介
了解自动化和工具如何使你作为开发人员提高工作效率,并让你更快更高效地工作。
-
Lesson 02: 高效编辑器
使用键盘快捷键和代码编辑器扩展来加速你的开发过程,并有助于避免重复的打字任务。
-
Lesson 03: 强大的构建工具
利用 Gulp 和 Grunt 等构建工具的强大功能,将你的开发代码转换为简化的,自动化过程的即时生产代码。
-
Lesson 05: 如何免受灾难
学习如何在编码时使用工具作为安全防火墙。使用它来自动检查您编写的代码并自动运行测试。
-
Lesson 06: 绝佳优化
了解如何使用工具优化你的应用以供生产使用。你将学习如何连接,缩小和优化代码。
- Concept 01: 简介
- Concept 02: 开发和生产模式
- Concept 03: 开发和生产模式 2
- Concept 04: 自动重新加载 index.html
- Concept 05: CSS 连接
- Concept 06: JS 连接
- Concept 07: JS 连接 2
- Concept 08: 压缩
- Concept 09: 设置一个开发生产任务
- Concept 10: 编写面向未来的 JavaScript
- Concept 11: 为什么转换?
- Concept 12: 源映射
- Concept 13: 图片优化
- Concept 14: 我们爱优化!
- Concept 15: 图片压缩
- Concept 16: 应该如何压缩图片
- Concept 17: 小结
-
Lesson 07: 总结
在本课中,你将了解有关整个项目脚手架的工具。
-
-
Module 04:
前端框架
-
Lesson 01: 单页面应用的功能
了解单页面应用的功能。
-
Lesson 02: 查看框架的源代码
查看 Backbone 框架的源代码,了解它的多个最热门功能的工作原理。
- Concept 01: 框架的基本功能
- Concept 02: 什么是模板?
- Concept 03: Backbone 项目设置
- Concept 04: 底层模板
- Concept 05: 构造函数
- Concept 06: 构造函数练习
- Concept 07: 讲解 `template` 函数
- Concept 08: 用数据填充模板
- Concept 09: 采访 Scott
- Concept 10: 模板`变量`和 JS 的 `with`
- Concept 11: 模板 Bug 练习
- Concept 12: 构建你自己的模板函数练习
- Concept 13: addEventListener
- Concept 14: 设置 Backbone 事件
- Concept 15: 讲解 Backbone 的 `Events.on`
- Concept 16: 添加事件练习
- Concept 17: 讲解 Backbone 的 `Events.trigger`
- Concept 18: 事件练习
- Concept 19: 构建你自己的事件系统练习
- Concept 20: 路由器和 Backbone.history 对象
- Concept 21: 路由练习
- Concept 22: hashchange 与 pushState
- Concept 23: 逐步演示 Backbone.history.start()
- Concept 24: Backbone 的 Fragment Count 练习
- Concept 25: 课程重点摘要练习
- Concept 26: 总结
-
Lesson 03: Angular
学习如何使用 Angular 框架构建单页面应用。
- Concept 01: 欢迎学习 Angular 框架
- Concept 02: Angular 是什么?
- Concept 03: 练习存储库和反馈 Chrome 扩展程序
- Concept 04: 准备运行 Angular 练习
- Concept 05: Angular 生态系统
- Concept 06: 新功能 1 练习
- Concept 07: 新功能 2 练习
- Concept 08: 一个简单应用
- Concept 09: 安装 Yeoman
- Concept 10: 结构化应用
- Concept 11: Angular 模块
- Concept 12: 创建模块练习
- Concept 13: 使用 Bootstrap 创建应用
- Concept 14: 使用 Bootstrap 创建应用练习
- Concept 15: 模板和表达式
- Concept 16: 表达式练习
- Concept 17: 采访 Scott
- Concept 18: Angular Controller
- Concept 19: Angular Controller 练习
- Concept 20: Scope
- Concept 21: Controller 中的 Scope/$scope
- Concept 22: Scope 练习
- Concept 23: 休息一下
- Concept 24: 一直等待的指令
- Concept 25: 指令练习
- Concept 26: Dependency Injection Skit
- Concept 27: 服务
- Concept 28: 服务练习
- Concept 29: 订单管理器功能
- Concept 30: 注入 Angular 的几个方式
- Concept 31: 通过 UI-Router 进行路由
- Concept 32: 管理应用状态
- Concept 33: 嵌套视图
- Concept 34: 路由练习
- Concept 35: 总结
-
Lesson 04: Ember
学习如何使用 Ember 框架构建单页面应用。
- Concept 01: 欢迎学习 Ember 框架
- Concept 02: 需要掌握 ES6 知识
- Concept 03: 安装 Ember-CLI
- Concept 04: 使用 Ember-CLI 生成新的应用
- Concept 05: Ember-CLI 快捷键和别名练习
- Concept 06: Ember 应用的文件结构
- Concept 07: 路由、路由器和模板 - 天啊!
- Concept 08: 生成路由和模板
- Concept 09: 练习存储库和反馈 Chrome 扩展程序
- Concept 10: 路由和模板练习
- Concept 11: 查看菜单项
- Concept 12: 嵌套路由
- Concept 13: 嵌套路由练习
- Concept 14: 采访 Allen
- Concept 15: Handlebars
- Concept 16: Handlebars 练习
- Concept 17: 加载动态数据
- Concept 18: 更新项目模板
- Concept 19: 动态数据练习(第 1 部分)
- Concept 20: 动态数据练习(第 2 部分)
- Concept 21: Components Ember 样式自定义 HTML
- Concept 22: 组件练习
- Concept 23: 订单跟踪功能
- Concept 24: 消耗服务
- Concept 25: 使用服务练习
- Concept 26: 对用户操作做出响应
- Concept 27: 操作练习
- Concept 28: 总结
-
-
Module 05:
离线 Web 应用
-
Lesson 01: 离线优先的优点
探索标准的 web 应用程序和离线优先的应用程序之间的差异,并了解新的 API。
-
Lesson 02: Service Worker 入门
编写你的第一个 Service Worker,并在使用 Service Worker 时深入了解 request 的生命周期。
- Concept 01: Service Worker 概览
- Concept 02: 范围练习
- Concept 03: 在项目中添加一个 Service Worker
- Concept 04: 注册一个 Service Worker
- Concept 05: Service Worker 的生命周期
- Concept 06: 安装 Service Worker 开发工具
- Concept 07: Service Worker 开发工具
- Concept 08: Service Worker 开发工具 2
- Concept 09: Service Worker 开发工具(续篇)
- Concept 10: Hijacking 请求
- Concept 11: 练习: Hijacking 请求 1
- Concept 12: Hijacking 请求 2
- Concept 13: 练习:Hijacking 请求 2
- Concept 14: Hijacking 请求 3
- Concept 15: 练习: Hijacking 请求 3
- Concept 16: Caching 与 Serving Assets
- Concept 17: 练习:安装与缓存
- Concept 18: 练习: 缓存响应
- Concept 19: 更新静态缓存
- Concept 20: 练习:更新你的 CSS
- Concept 21: 更新你的 CSS 2
- Concept 22: 在更新过程中加入 UX
- Concept 23: 练习:添加 UX
- Concept 24: 触发更新
- Concept 25: 练习:触发更新
- Concept 26: 缓存页面 Skeleton
-
-
Module 06:
客户端服务器通信
-
Lesson 01: HTTP 的请求和响应周期
你会学到请求的来龙去脉,具体了解如何请求页面,收到标题,HTTP 代码以及如何传输数据。
-
Lesson 02: HTTP/1
你将深入研究 HTTP 动词,还将深入挖掘 HTTP 中使用的重要标头,并了解如何使用 REST 高效地构建应用程序。
-
Lesson 03: HTTPS
你会发现安全对网络的重要性。 你将了解 TLS,发现加载混合内容的问题,快速入门了解加密并验证证书颁发机构。
-
Lesson 04: HTTP/2
HTTP/1是伟大的,但未来是HTTP/2 的时代! 你将了解HTTP/2带来的变化。 你将学习HTTP/1所颂扬的当前“最佳实践”,但现在已经是HTTP/2中的反模式。
-
Lesson 05: 安全性
安全对每个Web应用程序都至关重要! 你将了解常见的安全缺陷以及如何避免这些缺陷。 你也有机会成为白帽子黑客,“入侵”(样本)银行的网站。
-